package com.zmn.oms.common.dio.normal.query;

import com.zmn.common.utils.pager.Pages;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.ToString;

import java.io.Serializable;
import java.util.List;

/**
 * 类描述：工单公共信息
 *
 * @author wangxiaokun
 * @since 2021/04/01 14:42
 */
@Data
@ToString()
@ApiModel("工单查询")
public class OrderWorkQueryDIO extends Pages implements Serializable {
    private static final long serialVersionUID = -3379120542465276940L;

    /**
     * 工单类型
     *
     * @see com.zmn.oms.common.constant.OrderConsts#getOrderWorkTypeList()
     */
    @ApiModelProperty(value = "工单类型")
    private List<Integer> workTypeList;

    /**
     * 用户ID列表
     */
    @ApiModelProperty(value = "用户ID列表")
    private List<Long> userIdList;

    /**
     * 手机号
     */
    @ApiModelProperty(value = "手机号")
    private String phone;

    /**
     * 订单结果
     *
     * @see com.zmn.oms.common.constant.OrderStatusConsts#getOrderResultStatusList()
     */
    @ApiModelProperty(value = "订单结果")
    @Deprecated
    private Integer resultStatus;

    /**
     * 工单状态列表
     *
     * @see com.zmn.oms.common.constant.OrderStatusConsts#getWorkStatusList()
     */
    @ApiModelProperty(value = "工单状态列表")
    private List<Integer> workStatusList;

    /**
     * 工单结果列表
     *
     * @see com.zmn.oms.common.constant.OrderStatusConsts#getOrderResultStatusList()
     */
    @ApiModelProperty(value = "工单结果列表")
    private List<Integer> workResultStatusList;

    /**
     * 渠道ID
     */
    @ApiModelProperty(value = "渠道ID")
    @Deprecated
    private Integer channelId;

    /**
     * 渠道ID列表
     */
    @ApiModelProperty(value = "渠道ID列表")
    private List<Integer> channelIdList;

    /**
     * 下单时间
     * 英文逗号分割开始结束时间(格式：yyyy-MM-dd HH:mm:ss,yyyy-MM-dd HH:mm:ss)
     */
    @ApiModelProperty(value = "下单时间，英文逗号分割，开始时间,结束时间(格式：yyyy-MM-dd HH:mm:ss,yyyy-MM-dd HH:mm:ss)")
    private String receiveTime;

    /**
     * 完成时间
     * 英文逗号分割开始结束时间(格式：yyyy-MM-dd HH:mm:ss,yyyy-MM-dd HH:mm:ss)
     */
    @ApiModelProperty(value = "完成时间，英文逗号分割，开始时间,结束时间(格式：yyyy-MM-dd HH:mm:ss,yyyy-MM-dd HH:mm:ss)")
    private String completeTime;

    /**
     * 脱敏参数
     * 默认true
     */
    @ApiModelProperty(value = "脱敏参数")
    private Boolean isSensitive = true;

    /**
     * 工程师id
     */
    @ApiModelProperty(value = "脱敏参数")
    private Integer masterId;

    /**
     * 服务商id
     */
    @ApiModelProperty(value = "服务商id")
    private Integer manageCompanyId;

    /**
     * 服务分类id集合
     */
    @ApiModelProperty(value = "服务分类id集合")
    private List<Integer> servCategIdList;

    /**
     * 前台一级分类集合
     */
    @ApiModelProperty(value = "前台一级分类集合")
    private List<Integer> showCategOneIdList;

    /**
     * 前台二级分类集合
     */
    @ApiModelProperty(value = "前台二级分类集合")
    private List<Integer> showCategTwoIdList;
}
